ヘッダーをスキップ
Oracle TimesTen Cache Connect to Oracle開発者および管理者ガイド
リリース7.0
E05172-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

ASYNCHRONOUS WRITETHROUGH(AWT)キャッシュ・グループ

ASYNCHRONOUS WRITETHROUGH(AWT)キャッシュ・グループでは、TimesTenでキャッシュ・データを更新し、Oracleに伝播するというSWTキャッシュ・グループの場合と同様のキャッシュ動作が実行されます。TimesTenコミットはOracleコミットとは非同期に発生するため、AWTキャッシュ・グループのレスポンス時間はSWTキャッシュ・グループより短縮されます。これによって、アプリケーションは、Oracleトランザクションのコミットを待機することなく継続して実行できます。AWTキャッシュ・グループは、Oracleデータベースの停止時に更新することもできます。これらの更新は、Oracleデータベースでの処理を再開すると、Oracleデータベースに適用されます。

図2.10は、TimesTenキャッシュ・グループの更新がOracleに非同期にレプリケートされることを示しています。

図2.10 ASYNCHRONOUS WRITETHROUGHキャッシュ・グループ

AWTキャッシュ・グループでは、キャッシュ・グループが含まれているデータ・ストアのキャッシュ・エージェントとレプリケーション・エージェントの両方を起動する必要があります。キャッシュ・エージェントによって、キャッシュをロードおよびリフレッシュできます。キャッシュをアンロードする場合、キャッシュ・エージェントが稼働している必要はありません。

AWTキャッシュ・グループは、CREATE ASYNCHRONOUS WRITETHROUGH CACHE GROUP文によって作成されます。

AWTキャッシュ・グループを使用するには、「Oracleユーザーの作成および権限の設定」に示されているOracle権限が必要です。また、キャッシュ・エージェントおよびレプリケーション・エージェントを起動する前に、ttCacheUidPwdSetプロシージャを使用してキャッシュ管理ユーザーIDおよびパスワードを設定する必要があります。詳細は、「AWTキャッシュ・グループのレプリケーション・エージェントの起動」を参照してください。

AWTキャッシュ・グループを使用すると、トランザクションはTimesTenとOracleで非同期にコミットされます。このため、アプリケーションでは、変更がOracleにコミットされるタイミングを特定できません。

この項の後半では、次の内容について説明します。

AWTキャッシュ・グループによって保証されること

AWTキャッシュ・グループでは、次のことが保証されます。

AWTキャッシュ・グループによって保証されないこと

AWTキャッシュ・グループでは、次のことが保証されません。

AWTキャッシュ・グループの使用の制限

「SWTキャッシュ・グループの使用の制限」で説明されているSWTキャッシュ・グループの制限は、AWTキャッシュ・グループにも適用されます。

AWTキャッシュ・グループにのみ、次の追加の制限があります。

例: AWTキャッシュ・グループの作成

この例では、単一表CUSTOMERに対して、CustomersというASYNCHRONOUS WRITETHROUGHキャッシュ・グループを作成します。

CREATE ASYNCHRONOUS WRITETHROUGH CACHE GROUP Customers

FROM

USER1.CUSTOMER (CUSTID INTEGER NOT NULL,

       NAME VARCHAR2(100) NOT NULL,

       ADDR VARCHAR2(100),

       ZIP VARCHAR2(10),

       PRIMARY KEY(CUSTID));

AWT用のOracleオブジェクトの作成

TimesTenでAWTをサポートするには、Oracleに状態表を作成する必要があります。この表は、状態およびOracleに適用された最後のトランザクションを追跡するために使用されます。この表は、CREATE ASYNCHRONOUS WRITETHROUGH CACHE GROUP文によって自動的に作成されます。また、Oracle表は、AWTキャッシュ・グループが作成される前に手動で作成することもできます。「AWTキャッシュ・グループ用のOracleオブジェクトの手動インストール」を参照してください。

AWTキャッシュ・グループの設定

AWTキャッシュ・グループを設定する場合は、次の手順を実行します。

  1. キャッシュ管理ユーザーIDおよびパスワードを設定します。
  2. ttCacheUidPwdSet組込みプロシージャまたは-cacheUidPwdSetオプションを指定したttAdminユーティリティを使用して、キャッシュ管理ユーザーIDおよびパスワードを設定します。

    キャッシュ管理ユーザーは、変更をOracleに適用します。キャッシュ管理ユーザー・アカウントには、表4.1のCREATE ASYNCHRONOUS WRITETHROUGH CACHE GROUPに示すOracle権限が必要です。

    キャッシュ管理ユーザーIDおよびパスワードは、データ・ストアごとに1回のみ設定する必要があります。データ・ストアが上書きまたは破壊された場合は、キャッシュ管理ユーザーIDおよびパスワードを再設定する必要があります。

  3. AWTキャッシュ・グループを作成します。
  4. CREATE ASYNCHRONOUS WRITETHROUGH CACHE GROUP SQL文を使用します。

  5. キャッシュ・エージェントを起動します。
  6. 「キャッシュ・エージェントの起動および停止」を参照してください。

  7. レプリケーション・エージェントを起動します。
  8. 「AWTキャッシュ・グループのレプリケーション・エージェントの起動」を参照してください。

    AWTキャッシュ・グループを作成すると、データ・ストアでOracleデータベースと通信できるレプリケーション・スキームが自動的に作成されます。このレプリケーション・スキームは、TimesTenによって完全に管理され、ユーザーが介入する必要はありません。このレプリケーション・スキームは、DROP CACHE GROUPを使用してAWTキャッシュ・グループを削除すると削除されます。

    キャッシュ・グループをロードする前にレプリケーション・エージェントを起動する必要はありませんが、最初にレプリケーション・エージェントを起動しておくと、パフォーマンスが向上します。

  9. キャッシュ・グループをロードします。
  10. LOAD CACHE GROUP文を使用します。